#include "TungTungTung_sahur.hh"

TungTungTung_sahur::TungTungTung_sahur()
    : Character("TungTungTung_sahur", 
        "In the 17th-century Sumatran jungles, a drummer who defiled Ramadan was executed by the chieftain. His skin was flayed alive to stretch across a bedug drum, his spine extracted as the mallet, cursing his soul to eternally sound the dawn prayer for the village. During lunar eclipses, the mallet would move autonomously, oozing blood-fat from wooden grains, accompanied by rotting 'Tung-Tung' sounds—actually the drummer's toothbones clacking desperate pleas. Over time, villagers vanished one by one, until only the hollow drum remained humming at the altar, its inner walls crusted with shattered teeth and shriveled human-shaped boreholes."
        "Now transformed into a half-human, half-wood monstrosity, the drum's swollen belly bulges with skulls of those who heard its call. It beats its cracked ribs with a bone mallet—each strike petrifies more victims' joints into ironwood, until they become knotted growths on its baseball bat, doomed to echo their final rhythms in eternal twilight as it devours them.", 
        200, 30, 10) {}

TungTungTung_sahur::~TungTungTung_sahur() {}

TungTungTung_sahur::TungTungTung_sahur(const TungTungTung_sahur& other) : Character(other) {
    // Copy constructor logic if needed
}
TungTungTung_sahur& TungTungTung_sahur::operator=(const TungTungTung_sahur& other) {
    if (this != &other) {
        Character::operator=(other); // Call the assignment operator of the base class
    }
    return *this;
}
bool TungTungTung_sahur::attack(ICharacter& target) {
    unsigned damage = 2 * getAttack();
    addHealth(damage); // Magic attack
    if (target.takeDamage(damage)) {
        return true;
    }
    return false;
}